package cn.iocoder.yudao.module.dify.dal.dataobject.taskprocessingrecords;

import cn.iocoder.yudao.framework.mybatis.core.type.LongListTypeHandler;
import cn.iocoder.yudao.framework.mybatis.core.type.StringListTypeHandler;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 用户调用dify任务工作流处理记录 DO
 *
 * @author 芋道源码
 */
@TableName(value = "dify_task_processing_records",autoResultMap = true)
@KeySequence("dify_task_processing_records_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor

public class TaskProcessingRecordsDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;


    /**
     * 用户选择文件id列表
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> fileIdList;
    /**
     * 原始文件名列表
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> originalName;
    /**
     * Dify接口请求ID
     */
    private String difyRequestId;
    /**
     * Dify生成的文件下载URL
     */
    private String difyDownloadUrl;
    /**
     * Dify链接过期时间
     */
    private LocalDateTime difyExpiresAt;
    /**
     * Dify接口返回数据
     */
    private String difyResponse;
    /**
     * MinIO访问URL
     */
    private String minioUrl;
    /**
     * 处理状态
     *
     * 枚举 {@link TODO dify_process_status 对应的类}
     */
    private Integer processStatus;
    /**
     * 重试次数
     */
    private Integer retryCount;
    /**
     * 任务类型
     *
     * 枚举 {@link TODO dify_workflow_type 对应的类}
     */
    private Integer type;

}